package login;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/login")
//使用这个类处理登陆请求
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1.从请求中获取到页面提交的用户名和密码
        String username=req.getParameter("username");
        String password=req.getParameter("password");
        //2.验证用户名密码是否正确
        //正常这个操作要查数据库，此处我们直接写出硬编码
        if(username.equals("zhangsan") && "021226".equals(password)){
            //登陆成功
            //创建一个会话,用户刚登录成功，之前是没有会话的,重新分配一个新的会话给用户
            //getSession
            //创建sessionId和一个HttpSession对象
            //把这两个内容以键值对的形式插入到内存的哈希表里
            //把sessionId通过SetCookie写到我们的响应里
            HttpSession session = req.getSession(true);
            //设置键值对，HttpSession自身也是哈希表
            session.setAttribute("username","zhangsan");
            //让响应重定向到主页
            resp.sendRedirect("index");
        }else{
            //登陆失败
            resp.setStatus(403);
            resp.setContentType("text/html;charset=utf8");
            resp.getWriter().write("登录失败");
        }
    }
}
